package com.inei.cie.capitulovi;

import java.util.ArrayList;
import java.util.List;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.FrameLayout.LayoutParams;
import android.widget.LinearLayout;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.RadioGroup.OnCheckedChangeListener;
import android.widget.Spinner;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;

import com.inei.cie.Carga_Trabajo_Activity;
import com.inei.cie.R;
import com.inei.cie.capituloix.CapituloIX_Activity;
import com.inei.cie.dao.CapituloVIDao;
import com.inei.cie.entidades.P6_1;
import com.inei.cie.entidades.P6_1_10N;
import com.inei.cie.entidades.P6_1_8N;
import com.inei.cie.entidades.P6_2_4N;

@SuppressLint("NewApi")
public class CapituloVI_SeccionA_Activity extends Activity {

	private List<String> lModalidad = new ArrayList<String>() {
		{
			add("1.- Inicial cuna");
			add("2.- Inicial jard\u00edn");
			add("3.- Inicial cuna jard\u00edn");
			add("4.- Primaria");
			add("5.- Secundaria");
			add("6.- Educaci\u00f3n B\u00e1sica Alternativa (EBA)");
			add("7.- Educaci\u00f3n B\u00e1sica Especial (EBE)");
			add("8.- Educaci\u00f3n Superior de Formaci\u00f3n Artistica (ESFA)");
			add("9.- Instituto Superior Tecnol\u00f3gico (IST)");
			add("10.- Instituto Superior Pedag\u00f3gico (ISP)");
			add("11.- Centro de Educaci\u00f3n T\u00e9cnico Productivo (CETPRO)");
			add("12.- Programa No Escolarizado de Educaci\u00f3n Inicial (PRONOEI)");
			add("13.- Sala de Educaci\u00f3n Temprana");
			add("14.- LUDOTECA");
		}
	};

	public String Letras[] = new String[10];
	public String Posicion[] = new String[10];
	public String Pregunta;
	boolean Si[] = new boolean[10];

	public int contador = 0;
	public TextView tvEdificacionNro;
	public String id_local;
	public int Nro_Ed;
	public int Nro_Pred;
	public String edificacion;
	public TableLayout tlSeccionA;

	public P6_1 obj;
	public List<P6_1_8N> lObj8;
	public List<P6_1_10N> lObj10;
	public CapituloVIDao cap6dao;

	// Pregunta 2
	public EditText et6A2;

	// Pregunta 3
	public Spinner spUnidad1;
	public EditText et6A3entero, et6A3decimal;

	// Pregunta 4
	public EditText et6A4;
	// public Spinner sp6A4;

	// Pregunta 5
	public RadioButton rb6A5si, rb6A5no;

	// Pregunta 6
	public RadioGroup rg6A6;
	public RadioButton rb6A6si, rb6A6no;

	// Pregunta 7
	public TableRow tr6A7, tr6A6;
	public RadioButton rb6A7si, rb6A7no;

	// Pregunta 8
	public TableRow tr6A8;
	public EditText et6A8;
	public Button b6A8;
	public int nro8;
	public List<TableRow> filas;

	// Pregunta 9
	public EditText et6A9;

	// Pregunta 10
	public LinearLayout ll6A10opciones;
	public List<CheckBox> modalidades10;
	int num;

	// Progress
	public ProgressDialog progreso;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.capitulo_vi_seccion_a);
		cargarDatosEstaticos();
		IniciarComponentes();

		et6A9.addTextChangedListener(new TextWatcher() {

			@Override
			public void onTextChanged(CharSequence c, int start, int before,
					int count) {
				// TODO Auto-generated method stub

				if (!c.toString().equals("")) {
					if (num > Integer.parseInt(c.toString())) {
						for (CheckBox cb : modalidades10) {
							cb.setChecked(false);
						}
						num = -1;
					}
					if (num < Integer.parseInt(c.toString())) {
						for (CheckBox cb : modalidades10) {
							if (!cb.isChecked()) {
								cb.setEnabled(true);
							}
						}
					}
					if (num == Integer.parseInt(c.toString())) {
						for (CheckBox cb : modalidades10) {
							if (!cb.isChecked()) {
								cb.setEnabled(false);
							}
						}
					}
					if (Integer.parseInt(c.toString()) > 14) {
						et6A9.setText("");
						Toast.makeText(
								CapituloVI_SeccionA_Activity.this,
								"El n\u00famero de niveles no debe ser mayor a 14",
								Toast.LENGTH_SHORT).show();
					}
				}
			}

			@Override
			public void beforeTextChanged(CharSequence arg0, int arg1,
					int arg2, int arg3) {
				// TODO Auto-generated method stub

			}

			@Override
			public void afterTextChanged(Editable arg0) {
				// TODO Auto-generated method stub

			}
		});

		rg6A6.setOnCheckedChangeListener(new OnCheckedChangeListener() {

			@Override
			public void onCheckedChanged(RadioGroup group, int checkedId) {
				// TODO Auto-generated method stub
				switch (checkedId) {
				case R.id.rb6A6si:
					if (rb6A6si.isChecked()) {
						// rb6A7si.setEnabled(true);
						// rb6A7no.setEnabled(true);
						tlSeccionA.removeView(tr6A7);
						tlSeccionA.addView(tr6A7,
								tlSeccionA.indexOfChild(tr6A6) + 1);
					}
					break;
				case R.id.rb6A6no:
					if (rb6A6no.isChecked()) {
						// rb6A7si.setEnabled(false);
						// rb6A7no.setEnabled(false);
						tlSeccionA.removeView(tr6A7);
						rb6A7si.setChecked(false);
						rb6A7no.setChecked(false);
					}
					break;
				default:
					break;
				}
			}
		});

	}

	public void IniciarComponentes() {
		Nro_Pred = getIntent().getExtras().getInt("Nro_Pred");
		id_local = getIntent().getExtras().getString("id_local");
		Nro_Ed = getIntent().getExtras().getInt("Nro_Ed");
		edificacion = "Local : "
				+ id_local
				+ " - Predio : "
				+ (getIntent().getExtras().getInt("TITULO_PRED") < 10 ? "0"
						: "") + getIntent().getExtras().getInt("TITULO_PRED")
				+ " - Edificaci\u00f3n Nro. " + (Nro_Ed < 10 ? "0" : "")
				+ Nro_Ed;

		tvEdificacionNro = (TextView) findViewById(R.id.tvEdificacionNro);
		tvEdificacionNro.setText(edificacion);

		tlSeccionA = (TableLayout) findViewById(R.id.tlSeccionA);
		tr6A6 = (TableRow) findViewById(R.id.tr6A6);

		// Pregunta 2
		et6A2 = (EditText) findViewById(R.id.et6A2);
		// et6A2.setFocusable(false);

		// Pregunta 3
		spUnidad1 = (Spinner) findViewById(R.id.spUnidad1);
		et6A3entero = (EditText) findViewById(R.id.et6A3entero);
		et6A3decimal = (EditText) findViewById(R.id.et6A3decimal);
		et6A3decimal.setTextColor(Color.BLACK);

		// Pregunta 4
		et6A4 = (EditText) findViewById(R.id.et6A4);

		// Pregunta 5
		rb6A5si = (RadioButton) findViewById(R.id.rb6A5si);
		rb6A5no = (RadioButton) findViewById(R.id.rb6A5no);

		// Pregunta 6
		rg6A6 = (RadioGroup) findViewById(R.id.rg6A6);
		rb6A6si = (RadioButton) findViewById(R.id.rb6A6si);
		rb6A6no = (RadioButton) findViewById(R.id.rb6A6no);

		// Pregunta 7
		tr6A7 = (TableRow) findViewById(R.id.tr6A7);
		rb6A7si = (RadioButton) findViewById(R.id.rb6A7si);
		rb6A7no = (RadioButton) findViewById(R.id.rb6A7no);

		// Pregunta 8
		et6A8 = (EditText) findViewById(R.id.et6A8);
		b6A8 = (Button) findViewById(R.id.b6A8);
		b6A8.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				if (et6A8.getText().length() == 0) {
					Toast.makeText(
							getApplicationContext(),
							"Por favor ingrese el n\u00famero de de pisos de esta edificaci\u00f3n.",
							Toast.LENGTH_LONG).show();
				} else {
					nro8 = Integer.parseInt(et6A8.getText().toString());
					if (nro8 == 0) {
						Toast.makeText(
								getApplicationContext(),
								"El n\u00famero de pisos debe ser como minimo 1.",
								Toast.LENGTH_LONG).show();
					} else if (nro8 > 10) {
						Toast.makeText(
								getApplicationContext(),
								"El n\u00famero de pisos no puede exceder a los 10.",
								Toast.LENGTH_LONG).show();
					} else {
						generarPisos();
					}
				}

			}
		});
		tr6A8 = (TableRow) findViewById(R.id.tr6A8);
		filas = new ArrayList<TableRow>();

		// Pregunta 9
		et6A9 = (EditText) findViewById(R.id.et6A9);

		// Pregunta 10
		ll6A10opciones = (LinearLayout) findViewById(R.id.ll6A10opciones);
		modalidades10 = new ArrayList<CheckBox>();
		for (int i = 0; i < lModalidad.size(); i++) {
			LinearLayout linear = new LinearLayout(this);

			linear.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,
					25));
			linear.setOrientation(LinearLayout.HORIZONTAL);
			TextView tv = new TextView(this);
			tv.setText(lModalidad.get(i));
			tv.setTextColor(Color.BLACK);
			tv.setLayoutParams(new TableLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT, 0.3f));
			CheckBox cb = new CheckBox(this);

			cb.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

				@Override
				public void onCheckedChanged(CompoundButton buttonView,
						boolean isChecked) {
					// TODO Auto-generated method stub
					if (isChecked) {
						contador++;
					} else {
						contador--;
					}
					if (contador >= Integer.parseInt(et6A9.getText().toString()
							.length() == 0 ? "0" : et6A9.getText().toString())) {
						for (CheckBox cb : modalidades10) {
							if (!cb.isChecked()) {
								cb.setEnabled(false);
							}
						}
					} else {
						for (CheckBox cb : modalidades10) {
							if (!cb.isChecked()) {
								cb.setEnabled(true);
							}
						}
					}
				}
			});
			// cb.setEnabled(false);
			modalidades10.add(cb);
			linear.addView(cb, 0);
			linear.addView(tv, 1);
			ll6A10opciones.addView(linear, i);
		}

		et6A2.setEnabled(false);
		et6A2.setTextColor(Color.BLACK);
		et6A4.setEnabled(false);
		et6A4.setTextColor(Color.BLACK);

		cargarData();

		num = Integer.parseInt(et6A9.getText().toString().length() == 0 ? "0"
				: et6A9.getText().toString());
	}

	public void cargarData() {
		cap6dao = new CapituloVIDao(getApplicationContext());
		List<Object> listaDatos = cap6dao.obtenerEdificacionA(id_local, Nro_Ed,
				Nro_Pred);
		obj = (P6_1) listaDatos.get(0);
		lObj8 = (ArrayList<P6_1_8N>) listaDatos.get(1);
		lObj10 = (ArrayList<P6_1_10N>) listaDatos.get(2);

		String ed = obj.getNro_Ed() + "";
		et6A2.setText((ed.length() == 1 ? "0" : "") + obj.getNro_Ed());
		String[] area = (obj.getP6_1_3() + "").split("\\.");
		if (Integer.parseInt(area[0].length() == 0 ? "0" : area[0]) != 0) {
			et6A3entero.setText("" + area[0]);
			spUnidad1.setSelection(obj.getP6_1_3_Tip());
		}
		et6A3decimal.setText("00");
		// String pr = obj.getNro_Pred() + "";
		String pr = getIntent().getExtras().getInt("TITULO_PRED") + "";
		// et6A4.setText((pr.length() == 1 ? "0" : "")+ obj.getNro_Pred());
		et6A4.setText((pr.length() == 1 ? "0" : "")
				+ getIntent().getExtras().getInt("TITULO_PRED"));

		if (obj.getP6_1_5() != 0) {
			if (obj.getP6_1_5() == 1) {
				rb6A5si.setChecked(true);
			} else {
				rb6A5no.setChecked(true);
			}
		}
		if (obj.getP6_1_6() != 0) {
			if (obj.getP6_1_6() == 1) {
				rb6A6si.setChecked(true);
			} else {
				rb6A6no.setChecked(true);
				tlSeccionA.removeView(tr6A7);
			}
		}

		if (obj.getP6_1_7() != 0) {
			if (obj.getP6_1_7() == 1) {
				rb6A7si.setChecked(true);
			} else {
				rb6A7no.setChecked(true);
			}
		}

		et6A8.setText((obj.getP6_1_8() == 0 ? "" : obj.getP6_1_8() + ""));
		if (!et6A8.getText().toString().equals("")) {
			b6A8.callOnClick();
			llenarOpcion8();
		}

		et6A9.setText((obj.getP6_1_9() == 0 ? "" : obj.getP6_1_9() + ""));
		// et6A9.setEnabled(obj.getP6_1_9() != 0 ? false : true);

		llenarOpciones10();

	}

	public void llenarOpcion8() {
		for (int i = 0; i < filas.size(); i++) {
			LinearLayout fila = (LinearLayout) filas.get(i).getChildAt(2);
			RadioGroup rg = (RadioGroup) fila.getChildAt(0);
			RadioButton rbSi = (RadioButton) rg.getChildAt(0);
			RadioButton rbNo = (RadioButton) rg.getChildAt(1);
			P6_1_8N valor = lObj8.get(i);
			int acc = valor.getP6_1_8_ACCESIBILIDAD();
			if (acc != 0) {
				if (acc == 1) {
					rbSi.setChecked(true);
				} else if (acc == 2) {
					rbNo.setChecked(true);
				}
			}
		}
	}

	public void llenarOpciones10() {

		for (int i = 0; i < modalidades10.size(); i++) {
			P6_1_10N valor = lObj10.get(i);
			modalidades10.get(i).setChecked(
					(valor.getP6_1_10_e() == 1 ? true : false));
		}

	}

	public void generarPisos() {
		if (filas.size() != 0) {
			tlSeccionA.removeViews(tlSeccionA.indexOfChild(filas.get(0)),
					filas.size());
			filas = new ArrayList<TableRow>();
		}
		for (int i = 0; i < nro8; i++) {
			TableRow fila = new TableRow(this);

			fila.setLayoutParams(new TableRow.LayoutParams(
					LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
			fila.setGravity(Gravity.CENTER_VERTICAL);
			TextView tv1 = new TextView(this);
			tv1.setText("8" + Letras[i] + ".");
			tv1.setTextSize(16);
			tv1.setTextColor(Color.BLACK);
			tv1.setLayoutParams(new TableRow.LayoutParams(0,
					LayoutParams.WRAP_CONTENT, 0.08f));

			TextView tv2 = new TextView(this);
			String tmp = Pregunta;
			tv2.setText(tmp.replace("--", Posicion[i]));
			tv2.setTextSize(16);
			tv2.setTextColor(Color.BLACK);
			tv2.setLayoutParams(new TableRow.LayoutParams(0,
					LayoutParams.WRAP_CONTENT, 1.5f));

			LinearLayout resp = new LinearLayout(this);
			resp.setLayoutParams(new TableRow.LayoutParams(0,
					LayoutParams.WRAP_CONTENT, 0.8f));
			resp.setGravity(Gravity.CENTER_VERTICAL);

			RadioButton rbSi = new RadioButton(this);
			rbSi.setLayoutParams(new LinearLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,
					Gravity.CENTER_VERTICAL));
			rbSi.setText("Si");
			// rbSi.setChecked(Si[i]);
			rbSi.setTextSize(16);
			rbSi.setTextColor(Color.BLACK);

			RadioButton rbNo = new RadioButton(this);
			rbNo.setLayoutParams(new LinearLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
			rbNo.setText("No");
			// rbNo.setChecked(!Si[i]);

			rbNo.setTextSize(16);
			rbNo.setTextColor(Color.BLACK);

			RadioGroup rgResp = new RadioGroup(this);
			rgResp.setLayoutParams(new LinearLayout.LayoutParams(
					LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
			rgResp.setOrientation(LinearLayout.HORIZONTAL);
			rgResp.addView(rbSi);
			rgResp.addView(rbNo);

			resp.addView(rgResp);

			fila.addView(tv1, 0);
			fila.addView(tv2, 1);
			fila.addView(resp, 2);
			filas.add(fila);
			tlSeccionA.addView(fila, tlSeccionA.indexOfChild(tr6A8) + 1 + i);
		}
		llenarOpcion8();

	}

	public void cargarDatosEstaticos() {
		Letras[0] = "A";
		Letras[1] = "B";
		Letras[2] = "C";
		Letras[3] = "D";
		Letras[4] = "E";
		Letras[5] = "F";
		Letras[6] = "G";
		Letras[7] = "H";
		Letras[8] = "I";
		Letras[9] = "J";

		Posicion[0] = "PRIMER";
		Posicion[1] = "SEGUNDO";
		Posicion[2] = "TERCER";
		Posicion[3] = "CUARTO";
		Posicion[4] = "QUINTO";
		Posicion[5] = "SEXTO";
		Posicion[6] = "SEPTIMO";
		Posicion[7] = "OCTAVO";
		Posicion[8] = "NOVENO";
		Posicion[9] = "DECIMO";

		Pregunta = "EL -- PISO CUMPLE CON LA NORMA DE ACCESIBILIDAD PARA PERSONAS CON DISCAPACIDAD? (*)";

		Si[0] = true;
		Si[1] = true;
		Si[2] = true;
		Si[3] = true;
		Si[4] = true;
		Si[5] = true;
		Si[6] = true;
		Si[7] = true;
		Si[8] = true;
		Si[9] = true;
	}

	public void guardar() {
		// Guardar o actualizar Data y salir
		if (contador == (et6A9.getText().toString().trim().length() == 0 ? 0
				: (Integer.parseInt(et6A9.getText().toString())))) {

			obj.setId_local(id_local);
			obj.setNro_Pred(Nro_Pred);
			obj.setNro_Ed(Nro_Ed);

			String area = (et6A3entero.getText().toString().length() == 0 ? "0"
					: et6A3entero.getText().toString())
					+ "."
					+ (et6A3decimal.getText().toString().length() == 0 ? "0"
							: et6A3decimal.getText().toString());
			obj.setP6_1_3(Float.parseFloat(area));
			obj.setP6_1_3_Tip(spUnidad1.getSelectedItemPosition());

			// obj.setP6_1_4(Integer.parseInt((et6A4.getText().toString().length()
			// == 0 ? "0": et6A4.getText().toString())));
			obj.setP6_1_5(rb6A5si.isChecked() ? 1 : 2);
			obj.setP6_1_6(rb6A6si.isChecked() ? 1 : 2);
			if (rb6A6si.isChecked()) {
				obj.setP6_1_7(rb6A7si.isChecked() ? 1 : 2);
			}
			obj.setP6_1_8(Integer
					.parseInt((et6A8.getText().toString().length() == 0 ? "0"
							: et6A8.getText().toString())));
			obj.setP6_1_9(Integer
					.parseInt((et6A9.getText().toString().length() == 0 ? "0"
							: et6A9.getText().toString())));

			// Pregunta 10
			for (int i = 0; i < modalidades10.size(); i++) {
				CheckBox cb = modalidades10.get(i);
				if (cb.isChecked()) {
					lObj10.get(i).setP6_1_10_e(1);
				} else {
					lObj10.get(i).setP6_1_10_e(0);
				}
			}

			List<P6_2_4N> lista = cap6dao.obtenerListadoModalidades(id_local,
					Nro_Ed, Nro_Pred);
			if (lista != null) {
				for (int i = 0; i < lista.size(); i++) {
					P6_2_4N p6_2_4n = lista.get(i);
					for (P6_1_10N p6_1_10n : lObj10) {
						if ((p6_2_4n.getId_local().equals(p6_1_10n
								.getId_local()))
								&& (p6_2_4n.getNro_Pred() == p6_1_10n
										.getNro_Pred())
								&& (p6_2_4n.getNro_Ed() == p6_1_10n.getNro_Ed())
								&& (p6_2_4n.getP6_2_4ID() == p6_1_10n
										.getP6_1_10())) {
							if (p6_1_10n.getP6_1_10_e() == 0
									&& p6_2_4n.getP6_2_4MOD() == 1) {
								p6_2_4n.setP6_2_4MOD(0);
								p6_2_4n.setP6_2_4TURNO_M(0);
								p6_2_4n.setP6_2_4TURNO_T(0);
								p6_2_4n.setP6_2_4TURNO_N(0);
							}
						}
					}
				}
			}

			cap6dao.actualizarModalidades(lista);

			cap6dao.actualizarEdificacionA(obj, lObj8, lObj10);

			Intent irSiguiente = new Intent(this,
					CapituloVI_SeccionB_Lista_Ambientes_Activity.class);
			irSiguiente.putExtras(getIntent().getExtras());
			startActivity(irSiguiente);
			finish();
		} else {
			Toast.makeText(
					getApplicationContext(),
					"La cantidad de checks no es igual al indicado en la pregunta 9",
					Toast.LENGTH_SHORT).show();
		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// TODO Auto-generated method stub
		getMenuInflater().inflate(R.menu.menu_capitulovi_con_foto, menu);
		menu.getItem(0).setTitle("SECCIONES");
		menu.getItem(2).setTitle("SIGUIENTE SECCI\u00d3N");
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		// TODO Auto-generated method stub

		switch (item.getItemId()) {
		case R.id.mnSalir:
			AlertDialog.Builder dialogo1 = new AlertDialog.Builder(this);
			dialogo1.setTitle("Importante");
			dialogo1.setMessage("Deseas Salir ?");
			dialogo1.setIcon(android.R.drawable.ic_dialog_alert);
			dialogo1.setCancelable(false);
			dialogo1.setPositiveButton("Si",
					new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialogo1, int id) {
							System.exit(0);
						}
					});

			dialogo1.setNegativeButton("No",
					new DialogInterface.OnClickListener() {
						public void onClick(DialogInterface dialogo1, int id) {
							return;
						}
					});
			dialogo1.show();
			break;
		case R.id.mnFoto:
			Bundle b = getIntent().getExtras();
			Intent foto = new Intent(CapituloVI_SeccionA_Activity.this,
					CapituloIX_Activity.class);
			b.putBoolean("pregunta", true);
			foto.putExtras(b);
			startActivity(foto);
			break;
		case R.id.mnMarco:
			Intent irMarco = new Intent(this, Carga_Trabajo_Activity.class);
			irMarco.putExtras(getIntent().getExtras());
			startActivity(irMarco);
			finish();
			break;
		case R.id.mnIncio:
			Intent marco = new Intent(this, CapituloVI_Menu_Activity.class);
			marco.putExtras(getIntent().getExtras());
			startActivity(marco);
			finish();
			break;
		case R.id.mnSiguiente:
			progreso = new ProgressDialog(CapituloVI_SeccionA_Activity.this);
			progreso.setCancelable(false);
			progreso.setMax(100);
			progreso.setProgress(0);
			progreso.setProgressStyle(ProgressDialog.STYLE_SPINNER);
			progreso.setTitle("Cargando");
			progreso.setMessage("Espere por favor...");
			CargaInicial carga = new CargaInicial();
			carga.execute();
			break;
		case R.id.mnCalculadora:
			Intent i = new Intent();
			i.setClassName("com.android.calculator2",
					"com.android.calculator2.Calculator");
			startActivity(i);
			break;
		default:
			break;
		}
		return super.onOptionsItemSelected(item);
	}

	@Override
	public void onBackPressed() {
		// TODO Auto-generated method stub
		super.onBackPressed();
		Intent irPredio = new Intent(this, CapituloVI_Menu_Activity.class);
		irPredio.putExtras(getIntent().getExtras());
		startActivity(irPredio);
		finish();
	}

	public class CargaInicial extends AsyncTask<Void, Void, String> {

		@Override
		protected void onPreExecute() {
			// TODO Auto-generated method stub
			progreso.show();
		}

		@Override
		protected String doInBackground(Void... params) {
			// TODO Auto-generated method stub
			String msg = "";
			String area = (et6A3entero.getText().toString().length() == 0 ? "0"
					: et6A3entero.getText().toString())
					+ "."
					+ (et6A3decimal.getText().toString().length() == 0 ? "0"
							: et6A3decimal.getText().toString());
			float p1_1 = Float.parseFloat(area);
			int p1_5si = rb6A5si.isChecked() ? 1 : 0;
			int p1_5no = rb6A5no.isChecked() ? 1 : 0;
			int p1_6si = rb6A6si.isChecked() ? 1 : 0;
			int p1_6no = rb6A6no.isChecked() ? 1 : 0;
			int p1_7si = rb6A7si.isChecked() ? 1 : 0;
			int p1_7no = rb6A7no.isChecked() ? 1 : 0;
			int p1_8 = Integer
					.parseInt((et6A8.getText().toString().length() == 0 ? "-1"
							: et6A8.getText().toString()));
			int p1_9 = Integer
					.parseInt((et6A9.getText().toString().length() == 0 ? "-1"
							: et6A9.getText().toString()));

			if (p1_1 == 0) {
				msg = "Debe responder la pregunta 3.";
				return msg;
			}

			if (p1_5si == 0 && p1_5no == 0) {
				msg = "Debe seleccionar una opci\u00f3n en la pregunta 5.";
				return msg;
			}

			if (p1_6si == 0 && p1_6no == 0) {
				msg = "Debe seleccionar una opci\u00f3n en la pregunta 6.";
				return msg;
			}

			if (p1_6si == 1) {
				if (p1_7si == 0 && p1_7no == 0) {
					msg = "Debe seleccionar una opci\u00f3n en la pregunta 7.";
					return msg;
				}
			}

			if (p1_8 == -1) {
				msg = "Debe responder la pregunta 8. El valor m\u00e1nimo es 1";
				return msg;
			}

			// Pregunta 8
			for (int i = 0; i < filas.size(); i++) {
				LinearLayout fila = (LinearLayout) filas.get(i).getChildAt(2);
				RadioGroup rg = (RadioGroup) fila.getChildAt(0);
				RadioButton rbSi = (RadioButton) rg.getChildAt(0);
				RadioButton rbNo = (RadioButton) rg.getChildAt(1);
				if (rbSi.isChecked()) {
					lObj8.get(i).setP6_1_8_ACCESIBILIDAD(1);
				} else if (rbNo.isChecked()) {
					lObj8.get(i).setP6_1_8_ACCESIBILIDAD(2);
				} else {
					lObj8.get(i).setP6_1_8_ACCESIBILIDAD(0);
				}
			}

			for (int i = filas.size(); i < lObj8.size(); i++) {
				lObj8.get(i).setP6_1_8_ACCESIBILIDAD(0);
			}
			if (p1_8 > 0) {
				for (int i = 0; i < p1_8; i++) {
					if (lObj8.get(i).getP6_1_8_ACCESIBILIDAD() == 0) {
						msg = "Debe selecccionar un opcion en la pregunta 8.";
						return msg;
					}
				}
			}

			if (p1_9 == -1) {
				msg = "Debe responder la pregunta 9. El valor m\u00ednimo es 0";
				return msg;
			}
			guardar();
			msg = "Se guardo con \u00e9xito";
			return msg;
		}

		@Override
		protected void onPostExecute(String result) {
			// TODO Auto-generated method stub
			progreso.dismiss();
			Toast.makeText(CapituloVI_SeccionA_Activity.this, result,
					Toast.LENGTH_SHORT).show();
		}
	}
}
